package br.com.democracia.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="materia")
@NamedQuery(name = "Lista.findAll", query = "select c from Materia c ")
public class Materia implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column
	private Integer idmateria;
	
	@Column(columnDefinition="TEXT")
	private String titulo;
	
	@Column
	private Date dataPublicacao;
	
	@Column
	private Date dataCriacao;
	
	@Column(columnDefinition="TEXT")
	private String texto;
	
	@OneToOne(mappedBy="materia", cascade=CascadeType.ALL)
	private Votacao votacao;
	
	public Materia() {
		// TODO Auto-generated constructor stub
	}
	public Integer getIdmateria() {
		return idmateria;
	}

	public void setIdmateria(Integer idmateria) {
		this.idmateria = idmateria;
	}

	public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public String getTexto() {
		return texto;
	}

	public void setTexto(String texto) {
		this.texto = texto;
	}
	public Votacao getVotacao() {
		return votacao;
	}
	public void setVotacao(Votacao votacao) {
		this.votacao = votacao;
	}
	public Date getDataPublicacao() {
		return dataPublicacao;
	}
	public void setDataPublicacao(Date dataPublicacao) {
		this.dataPublicacao = dataPublicacao;
	}
	public Date getDataCriacao() {
		return dataCriacao;
	}
	public void setDataCriacao(Date dataCriacao) {
		this.dataCriacao = dataCriacao;
	}

	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return idmateria+"-titulo-"+titulo+"-datapublicacao-"+dataPublicacao+"-datacriacao-"+dataCriacao+"-texto-"+texto;
	}

}
